1. Field of the Invention
The present invention relates to a storage control apparatus such as a disk array apparatus, as well as its control method, and more particularly to the management of logical volumes inside the storage control apparatus.
2. Related Background Art
One of the measures to improve the reliability of disk array apparatuses is a method to make a copy (a backup of data) of logical volumes. When data within a logical volume at a certain point in time is saved as a copy on another logical volume, the copy can be used to recover data in the event of a failure.
If a plurality of information processing apparatuses (hereinafter called “host apparatuses”), which issue copy instructions between logical volumes and access data, is connected to such a disk array apparatus, a plurality of host apparatuses may be allowed to simultaneously access one logical volume. An access is made when performing a copy operation of a volume, and referring to or writing data in storage media, and is hereinafter called simply an “access.”
When accessing data in a disk array apparatus from a host apparatus, an operation called “mounting” needs to take place. A mounting refers to having peripheral equipment, such as a disk array apparatus, connected to a host apparatus be recognized by the host apparatus and enabling the disk array apparatus to be operated by the host apparatus. In storage control apparatuses, a mounting refers to making a certain logical volume accessible when the host apparatus attempts to access the logical volume.
When a mounting operation is performed on a disk array apparatus for a host apparatus, the host apparatus and the disk array apparatus exchange protocol information regarding mutual communications between their respective connection ports, thereby establishing a state in which communications can begin. Specifically, a host apparatus that attempts to access a certain logical volume sends to a storage system having the logical volume a frame containing an inquiry command. An inquiry command is a standard command for communications environment setting defined according to SCSI standards.
At least the source ID (S_ID) of the host apparatus and a logical unit number (LUN), which is an identifier of the logical unit being inquired, are included in the frame.
Upon receiving the inquiry command, the storage system analyzes the frame and checks whether the logical volume that is the subject of an access is mounted (i.e., whether it is accessible); if the logical volume is already mounted, the storage system establishes settings accordingly and sends back inquiry data. Upon receiving the inquiry data and confirming that the logical volume is accessible, the host apparatus can thereafter continuously issue I/O requests, such as read/write or copy instructions between logical volumes.
When a plurality of host apparatuses can access the same logical volume as in the situation described above, if an attempt is made to copy a logical volume a, which is mounted by a host apparatus A, to a logical volume β based on an instruction from a host apparatus B, there is a possibility that data in the logical volume a that is to be copied could be rewritten by the host apparatus A after the copy processing begins.
In other words, a data image of the logical volume a of a certain point in time that the host apparatus B is trying to copy could be rewritten by the host apparatus A after the copy processing begins, which could result in the host apparatus B's not being able to obtain a copy of data of the point in time intended (i.e., data corruption). In the present specification, data corruption includes situations in which data becomes data not intended by an operator due to an operation error by another operator.
On the other hand, when a logical volume β is designated as a copy destination target volume in making a copy of a logical volume α, which is under the control of a host apparatus A, if the target volume β is mounted by another host apparatus other than the host apparatus A, the target volume β can be rewritten by the host apparatus other than the host apparatus A during the copy processing, resulting in an unexpected data failure.
In order to prevent such situations, an operator of a volume copy operation must check if logical volumes that are either a copy source or a copy destination are not mounted by any other host apparatuses before copying the copy source logical volume. Manually performing the management check operation to prevent such data corruption is a major operational load for operators of volume copy operations.
The only apparatus that can recognize whether a logical volume is mounted by a host apparatus is the host apparatus that is actually mounting the logical volume; other host apparatuses cannot recognize whether the target logical volume is already mounted by any other host apparatus.
Consequently, ascertaining whether a logical volume that is the target of an operation is already mounted by another host apparatus requires checking through each and every host apparatus.